//******** 广州电视台直播源脚本 for 酷9 APP ********//
// 频道列表：
// zhonghe - 广州综合
// xinwen  - 广州新闻  
// jingsai - 广州竞赛
// yingshi - 广州影视
// fazhi   - 广州法治
// shenghuo - 广州南国都市

// 识别名称main - 酷9 APP标准入口函数
function main(item) {
    // 获取请求地址
    const url = item.url;
    
    // 获取频道ID参数
    const id = ku9.getQuery(url, "id");
    
    // 频道映射表
    const channelMap = {
        "zhonghe": 31,  // 广州综合
        "xinwen": 32,   // 广州新闻
        "jingsai": 35,  // 广州竞赛
        "yingshi": 36,  // 广州影视
        "fazhi": 34,    // 广州法治
        "shenghuo": 33  // 广州南国都市
    };
    
    // 检查频道ID是否存在
    if (!id || !channelMap[id]) {
        return JSON.stringify({ 
            error: "频道ID不存在或未指定",
            available_channels: Object.keys(channelMap)
        });
    }
    
    const channelId = channelMap[id];
    
    // API请求地址
    const apiUrl = "https://gzbn.gztv.com:7443/plus-cloud-manage-app/liveChannel/queryLiveChannelList?type=1";
    
    // 设置请求头
    const headers = { 
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36",
        "Accept": "application/json, text/plain, */*",
        "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
        "Connection": "keep-alive"
    };
    
    try {
        // 使用酷9内置get函数请求数据
        const response = ku9.get(apiUrl, headers);
        
        // 检查响应是否有效
        if (!response) {
            return JSON.stringify({ error: "API请求失败，无响应数据" });
        }
        
        // 解析JSON响应
        const jsonData = JSON.parse(response);
        
        // 检查数据结构
        if (!jsonData || !jsonData.data || !Array.isArray(jsonData.data)) {
            return JSON.stringify({ error: "API返回数据格式错误" });
        }
        
        const data = jsonData.data;
        
        // 查找对应的频道
        let playUrl = "";
        for (let i = 0; i < data.length; i++) {
            if (data[i] && data[i].stationNumber == channelId) {
                playUrl = data[i].httpUrl;
                break;
            }
        }
        
        if (playUrl) {
            // 返回播放地址给酷9 APP
            return JSON.stringify({ 
                url: playUrl,
                headers: headers,
                note: "广州电视台 - " + id
            });
        } else {
            return JSON.stringify({ 
                error: "未找到频道对应的直播源",
                channel_id: channelId,
                channel_name: id
            });
        }
        
    } catch (error) {
        // 错误处理
        return JSON.stringify({ 
            error: "获取直播源失败",
            details: error.toString()
        });
    }
}

// 可选：添加其他辅助函数
function getChannelName(id) {
    const nameMap = {
        "zhonghe": "广州综合",
        "xinwen": "广州新闻", 
        "jingsai": "广州竞赛",
        "yingshi": "广州影视",
        "fazhi": "广州法治",
        "shenghuo": "广州南国都市"
    };
    return nameMap[id] || "未知频道";
}